Skip to content

Conversation

@kvaps
Copy link
Contributor

@kvaps kvaps commented Jan 23, 2026

Summary

Add global --skip-verify flag that disables TLS server certificate verification while preserving client certificate authentication.

This is useful when connecting to nodes via IP addresses not listed in the server certificate's SANs (e.g., NAT, VPN, port-forwarding scenarios).

Changes

  • Add SkipVerify field to global.Args struct
  • Add WithClientSkipVerify method that creates TLS connection with InsecureSkipVerify: true but preserves client certificate
  • Add --skip-verify global flag to all commands
  • Update commands that support --insecure to also check for --skip-verify:
    • apply-config
    • get
    • meta write/delete
    • reset
    • upgrade
    • version
    • wipe disk

Difference from --insecure

  • --insecure: Uses maintenance mode API without client authentication
  • --skip-verify: Uses normal authenticated API but skips server certificate verification

Test plan

  • Run talosctl get members --skip-verify -n <ip> against a node with mismatched SAN
  • Run talosctl apply-config --skip-verify -n <ip> -f config.yaml
  • Verify client authentication still works (commands fail without valid talosconfig)

@smira
Copy link
Member

smira commented Jan 23, 2026

As much as I see the problem, I don't like the idea of including this into talosctl. This leads to a risk of submitting sensitive data to a malicious actor pretending to be Talos API.

@kvaps kvaps marked this pull request as ready for review January 23, 2026 16:46
@talos-bot talos-bot moved this from To Do to In Review in Planning Jan 23, 2026
…cation

Add global --skip-verify flag that disables TLS server certificate
verification while preserving client certificate authentication.

This is useful when connecting to nodes via IP addresses not listed
in the server certificate's SANs (NAT, VPN, port-forwarding scenarios).

Changes:
- Add SkipVerify field to global.Args struct
- Add WithClientSkipVerify method for TLS with InsecureSkipVerify
- Add --skip-verify global flag to all commands
- Update commands that support --insecure to also check --skip-verify

Signed-off-by: Andrei Kvapil <kvapss@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: In Review

Development

Successfully merging this pull request may close these issues.

2 participants